using MediatR;
using Work.ErrorCode;

namespace Work.API.Applications.Write.Commands
{
    /// <summary>
    /// 结算支付命令
    /// </summary>
    public class SettlePaymentCommand : IRequest<ApiResult<int>>
    {
        /// <summary>
        /// 预约编号
        /// </summary>
        public int AppointmentId { get; set; }

        /// <summary>
        /// 就诊人编号
        /// </summary>
        public int PatientId { get; set; }

        /// <summary>
        /// 挂单号
        /// </summary>
        public string? RegistrationNum { get; set; }

        /// <summary>
        /// 总金额
        /// </summary>
        public decimal TotalAmount { get; set; }

        /// <summary>
        /// 支付金额
        /// </summary>
        public decimal PaidAmount { get; set; }

        /// <summary>
        /// 支付方式（可选）
        /// </summary>
        public string? PaymentMethod { get; set; }

        /// <summary>
        /// 是否打印发票
        /// </summary>
        public bool InvoicePrinted { get; set; }
    }
}

